1. Field of the Invention
The present invention generally relates to browser documents. More particularly, some example embodiments relate to version control of browser documents in online and/or offline scenarios.
2. Related Technology
Web applications are delivered to end users through a browser and often offer very little functionality. As such, these applications may be built so that most or all of their functionality occurs on a remote server and only results are presented on a client device to the end user. When the connection between the client device and the remote server is lost, the limited functionality offered by the application may prevent the user from viewing past work or continuing to work on an open browser document until the connection is restored.
Some browsers include basic functionality to allow web applications to implement some offline support, but this low-level functionality does little or nothing to mitigate versioning problems inherent in disconnected editing. When multiple users independently make substantial changes to documents, and then subsequently reconnect via a remote server, the remote server and/or the browsers may be unable to merge those changes automatically without involving the users, if at all. Additionally, diverging changes made by a single user to the same document in multiple browser windows with such basic functionality may be difficult or impossible to automatically merge, if at all, without involving the user and/or without a connection to a remote server.
Even if a web application allows for local editing of data while offline, managing how and when that data is eventually synced back to the remote server is another issue that can be difficult to resolve. Some solutions to this problem may waste bandwidth and CPU cycles, may commit duplicate changes to the server, and/or may inadvertently delay the syncing of changes to the server.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.